# ifndef _MESHMATERIAL_H
# define _MESHMATERIAL_H

#include "WEExternal.h"
#include "GameTexture.h"
#include "GraphicsDevice.h"

namespace WuguiEngine
{
	namespace Graphics
	{
		class GameTexture;
		class GraphicsDevice;

		class MeshMaterial : virtual public IDisposed
		{
		public:
			MeshMaterial(GraphicsDevice*);

			GameTexture* GetNormalMap();
			GameTexture* GetDiffuseMap();
			GameTexture* GetSpecularMap();
			
			void SetNormalMap(std::string);
			void SetDiffuseMap(std::string);
			void SetSpecularMap(std::string);

			virtual void Dispose();
		protected:
			D3DXMATERIAL material;
			std::string normalMapFilename;
			std::string diffuseMapFilename;
			std::string specularMapFilename;
			
			GameTexture* normalMap;
			GameTexture* diffuseMap;
			GameTexture* specularMap;

			GraphicsDevice* pDevice;
		};
	}
}

#endif